package labelsystem.Service;

import com.sun.xml.internal.bind.v2.TODO;
import labelsystem.Pojo.*;
import labelsystem.utils.monitorHandle;
import org.apache.ibatis.annotations.Select;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * @author MCG
 * @projectName careOlder
 * @Description TODO
 * @time 2023/3/7 16:40
 */
public interface yuserService {
 /*
  * @description:处理用户登陆逻辑
  * @param: phone 电话号码  password 密码
  * @return: 登陆成功返回true,否则返回false
  * @author MCG
  * @date: 2023/3/7 16:55
  */
   public boolean loginInByPassword(String telephone, String password);

   public boolean loginByVerifyCode(String input, String code);

   public YoungUser queryInfoBytel(String phone);

   /*
    * @description:注册逻辑
    * @param: name telephone password password gender
    * @return:YoungUser
    * @author MCG
    * @date: 2023/3/7 19:54
    */
   public YoungUser register(String name,String telephone,String password,String gender);

   /*
    * @description:注册绑定父母
    * @param: status是基本信息，medicine则是用药信息
    * @return:
    * @author MCG
    * @date: 2023/3/11 10:23
    */
   @Transactional
   public boolean registerOlder(Long yID,String name,String address,int age,String gender,String status,Long phone,String relationship);

   public boolean AddMonitor(String name,String phone,String medicine,int cycle);

   /**
    * @description:  查询父母订单
    * @param: yId
    * @return:  父母订单列表
    * @author MCG
    * @date: 2023/3/23 10:49
    */

   public List<Order> queryOOrders(Long yId);


  /**
   * @description:  查询医生
   * @param: null
   * @return:
   * @author MCG
   * @date: 2023/3/23 10:49
   */

  public List<Doctor> queryDoctors();

  public List<Doctor> queryDoctorBySpecify(String specify);

  public Doctor queryDoctorById(Long doctorID);

  /**
   * @description:  查询父母体检单
   * @param: null
   * @return:
   * @author MCG
   * @date: 2023/3/23 10:49
   */

  public List<Check> queryCheckById(Long yID);

  public List<monitorHandle> queryMonitor(Long yID);

  public boolean deleteMonitor(Long oid);


  public List<Device> queryDeviceCheck(Long yID);

  /**
   * @description:  查询护工
   * @param: null
   * @return:
   * @author MCG
   * @date: 2023/3/23 10:49
   */
  public List<Volunteer> queryVolunteers();

  public Volunteer queryServiceById(Long vID);


  public boolean updateInfo(YoungUser youngUser);





}
